# 初始图书列表
library_books = [
  {
    # 书名
    "title": "Python Programming",
    # 作者
    "author": "John Doe",
    # 图书 id
    "id": 101
  },
  {
    "title": "Data Science Basics",
    "author": "Jane Smith",
    "id": 102
  },
  {
    "title": "Machine Learning",
    "author": "Alice Brown",
    "id": 103
  },
  {
    "title": "The Little Prince",
    "author": "Antoine de Saint-Exupéry",
    "id": 104
  }
]

# 系统包含以下功能：
# 使用深拷贝和浅拷贝复制图书信息并演示修改的影响；


import copy


# 初始化借阅列表
borrow_books = [library_books[0]]
# 添加图书到借阅列表；

# 浅拷贝复制图书信息
copy_data_1 = copy.copy(library_books)
update_data_1 = {
  "title": "Data Science Basics",
  "author": "Jane Smith",
  "id": 199
}
borrow_books.append(update_data_1)
# 深拷贝
copy_data_2 = copy.deepcopy(library_books)
borrow_books.append(copy_data_2)
update_data_2 = {
  "title": "Machine Learning",
  "author": "Alice Brown",
  "id": 203
}


print("浅拷贝与深拷贝修改信息的影响:")
print(library_books)
print(borrow_books)


# 检查图书是否在借阅列表中，使用成员运算符 in 和 not in；
# 检查某本书是否已被借阅；
for l in library_books:
  if l in borrow_books:
    print(f"{l.get('title')}已被借阅")
  else:
    print(f"{l.get('title')}未被借阅")
  # 使用身份运算符 is 和 is not 比较对象是否为同一本书。
  for b in borrow_books:
    if b.get("title") == l.get("title"):
      if b is l:
        print(f"借阅列表中的{b.get('title')}与图书列表中的{l.get('title')}是同一本")
      else:
        print(f"借阅列表中的{b.get('title')}与图书列表中的{l.get('title')}不是同一本")

